
import {INCREMENT} from './mutations-types'

export default {

    //方法  一旦执行这个方法，会自动传回来一个state参数，而这个state就是上面的state对象
  /*  INCREMENT(state){
        state.counter++
    },*/

  //方法也可以这样定义
    [INCREMENT](state){
        state.counter++
    },

    //定义了一个函数，可以把他看成两部分
    //1.decrement  事件类型
    //2.(state){state.counter--} 是回调函数
    decrement(state){
        state.counter--
    },
    //Mutations接收参数，直接多加一个参数就能接受前面传来的参数
    Mtexf(state,count){
        state.counter += count 
    },
    //通过定义一个stu直接接收传过来的学生对象
    addStudent(state,stu){
        state.students.push(stu)
    },

    //测试响应式
    xiangyingshi(state,playload){
        state.info.name='hgt'
        console.log(playload)
    },

  //响应式的错误插入方法
  //增加test这个属性
  xiangyingshi1(state){
    state.info['test'] = '111'
  },


  //响应式的正确插入方法
  xiangyingshi2(state){
    Vue.set(state.info,'address','揭阳')
  },

  xiangyingshi3(state){
      //通过这种方式删除state里面的属性，这种方式也做不到响应式
      delete state.info.age
  },
  xiangyingshi4(state){
      //正确删除属性的响应式方式
    Vue.delete(state.info,'age')
  },


  //错误代码，不应应该在mutation里面写异步方法
  yibucaozuo(state){
    setTimeout(() => {
        state.info.name='coder'
    }, 1000);
  },



  texaaa(state,playload){
    
    state.info={...state.info,'height':playload.height}

}
}